|
|
|
|
||
Tömb feltöltése véletlen számokkal és az elemek elrendezése shell-rendezéssel, eljárások használatával (Shellrendezes.pas) program Shellrendezes; uses crt; var n:integer; a:array [1..300] of integer; procedure cserel(mit,mire:integer); var x:integer; begin x:=a[mit]; a[mit]:=a[mire]; a[mire]:=x; end; procedure feltolt; var i:integer; begin for i:=1 to n do begin a[i]:=trunc(90*random)+1; end; end; procedure kiir; var i:integer; begin for i:=1 to n do begin writeln(a[i]); end; end; procedure rendez(kezd,k:integer); var i,j:integer; begin i:=kezd+k; while(i<=n) do begin j:=i; while (j>k) do begin if (a[j]<a[j-k]) then begin cserel(j,j-k); j:=j-k; end else break; end; i:=i+k; end; end; procedure krendez(k:integer); var i:integer; begin i:=1; while (i<=k) do begin rendez(i,k); i:=i+1; end; end; procedure shell; begin krendez(31); krendez(15); krendez(7); krendez(3); krendez(1); end; BEGIN clrscr; write('n:= '); readln(n); feltolt; writeln('A szamok rendezes elott:'); kiir; writeln(''); writeln('A szamok rendezes utan:'); shell; kiir; readkey; END. ![]() |
||||